<script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<script>
    // 1. 需求：获取流浪地球详情，只提供电影列表的接口和电影详情的接口，你会怎么做呢
    // $.ajax({
    //     url: 'http://huruqing.cn:3000/api/film/getList',
    //     data: {},
    //     type: 'get',
    //     dataType: 'json',
    //     success: function(res) {
    //         var filmList = res.films;
    //         var film = filmList.find(function(item) {
    //             return item.name === '流浪地球';
    //         });
    //         // 获取详情的接口必须等待拿到filmId才能发请求
    //         var filmId = film.filmId;
    //         $.ajax({
    //             url: 'http://huruqing.cn:3000/api/film/getDetail',
    //             type: 'get',
    //             data: {
    //                 filmId: filmId
    //             },
    //             dataType: 'json',
    //             success: function(res) {
    //                 console.log('流浪地球详细信息', res.film);
    //                 // 根据演员名称查找演员个人信息     
    //             },
    //             error: function(err) {
    //                 alert(err);
    //             }
    //         })
    //     },
    //     error: function(err) {
    //         alert(err);
    //     }
    // })


    // async await应用，可以避免过多的回调函数（俗称回调地狱）, 下面是使用async await对上面代码进行改造
    // 1. 封装ajax方法
    function getData(url, data) {
        // 2.使用promise对象存储请求结果
        var promiseObj = new Promise(function(resolve, reject) {
            $.ajax({
                url: url,
                data: data,
                type: 'get',
                dataType: 'json',
                success: function(res) {
                    resolve(res);
                },
                error: function(err) {
                    reject(err);
                }
            })
        })
        return promiseObj;
    }

    // 2.获取电影详情
    async function getDetail() {
        // (1).请求电影列表
        var url = 'http://huruqing.cn:3000/api/film/getList';
        var data = {};
        var result1 = await getData(url, data);
        // 查找流浪地球的那部电影
        var filmList = result1.films;
        var film = filmList.find(function(item) {
            return item.name === '流浪地球';
        });

        // (2).请求电影详情 
        var url = 'http://huruqing.cn:3000/api/film/getDetail';
        var data = {
            filmId: film.filmId
        };
        var result2 = await getData(url, data);
        console.log('流浪地球的详情是:', result2);
    }
    getDetail();
</script>